SCSI-2


Release 1.0

by
Steffen Engel
Kröppelstr. 2
D-38100 Braunschweig

MausNet: Steffen Engel @ SZ2


Contents

1 Scope

2 Normative references

3 Definitions, symbols and abbreviations
3.1 Definitions
3.2 Symbols and abbreviations

4 General
4.1 Overview
4.2 Conventions

5 Physical characteristics
5.1 Physical description
5.2 Cable requirements
5.2.1 Single-ended cable
5.2.2 Differential cable
5.2.3 Cable requirements for fast synchronous data transfer
5.3 Connector requirements
5.3.1 Non-shielded connector requirements
5.3.2 Shielded connector requirements
5.3.3 Connector contact assignments
5.4 Electrical description
5.4.1 Single-ended alternative
5.4.2 Differential alternative
5.4.3 Terminator power
5.4.4 RESERVED lines
5.5 SCSI bus
5.6 SCSI bus signals
5.6.1 Signal values
5.6.2 OR-tied signals
5.6.3 Signal sources
5.7 SCSI bus timing
5.7.1 Arbitration delay
5.7.2 Assertion period
5.7.3 Bus clear delay
5.7.4 Bus free delay
5.7.5 Bus set delay
5.7.6 Bus settle delay
5.7.7 Cable skew delay
5.7.8 Data release delay
5.7.9 Deskew delay
5.7.10 Disconnection delay
5.7.11 Hold time
5.7.12 Negation period
5.7.13 Power-on to selection time
5.7.14 Reset to selection time
5.7.15 Reset hold time
5.7.16 Selection abort time
5.7.17 Selection time-out delay
5.7.18 Transfer period
5.8 Fast synchronous transfer option
5.8.1 Fast assertion period
5.8.2 Fast cable skew delay
5.8.3 Fast deskew delay
5.8.4 Fast hold time
5.8.5 Fast negation period

6 Logical characteristics
6.1 SCSI bus phases
6.1.1 BUS FREE phase
6.1.2 ARBITRATION phase
6.1.3 SELECTION phase
6.1.4 RESELECTION phase
6.1.5 Information transfer phases
6.1.6 COMMAND phase
6.1.7 Data phase
6.1.8 STATUS phase
6.1.9 Message phase
6.1.10 Signal restrictions between phases
6.2 SCSI bus conditions
6.2.1 Attention condition
6.2.2 Reset condition
6.3 SCSI bus phase sequences
6.4 SCSI pointers
6.5 Message system description
6.6 Messages
6.6.1 ABORT
6.6.2 ABORT TAG
6.6.3 BUS DEVICE RESET
6.6.4 CLEAR QUEUE
6.6.5 COMMAND COMPLETE
6.6.6 DISCONNECT
6.6.7 IDENTIFY
6.6.8 IGNORE WIDE RESIDUE
6.6.9 INITIATE RECOVERY
6.6.10 INITIATOR DETECTED ERROR
6.6.11 LINKED COMMAND COMPLETE
6.6.12 LINKED COMMAND COMPLETE (WITH FLAG)
6.6.13 MESSAGE PARITY ERROR
6.6.14 MESSAGE REJECT
6.6.15 MODIFY DATA POINTER Message
6.6.16 NO OPERATION
6.6.17 Queue tag messages
6.6.18 RELEASE RECOVERY
6.6.19 RESTORE POINTERS
6.6.20 SAVE DATA POINTER
6.6.21 SYNCHRONOUS DATA TRANSFER REQUEST message
6.6.22 TERMINATE I/O PROCESS
6.6.23 WIDE DATA TRANSFER REQUEST message

7 SCSI commands and status
7.1 Command implementation requirements
7.1.1 Reserved
7.1.2 Operation code types
7.2 Command descriptor block
7.2.1 Operation code
7.2.2 Logical unit number
7.2.3 Logical block address
7.2.4 Transfer length
7.2.5 Parameter list length
7.2.6 Allocation length
7.2.7 Control field
7.3 Status
7.4 Command examples
7.4.1 Single command example
7.4.2 Disconnect example
7.4.3 Linked command example
7.5 Command processing considerations and exception conditions
7.5.1 Programmable operating definition
7.5.2 Incorrect initiator connection
7.5.3 Selection of an invalid logical unit
7.5.4 Parameter rounding
7.5.5 Asynchronous event notification
7.5.6 Unexpected reselection
7.6 Contingent allegiance condition
7.7 Extended contingent allegiance condition
7.8 Queued I/O processes
7.8.1 Untagged queuing
7.8.2 Tagged queuing
7.8.3 Example of queued I/O process

8 All device types
8.1 Model for all device types
8.1.1 SCSI addresses
8.1.2 Commands implemented by all SCSI devices
8.2 Commands for all device types
8.2.1 CHANGE DEFINITION command
8.2.2 COMPARE command
8.2.3 COPY command
8.2.4 COPY AND VERIFY command
8.2.5 INQUIRY command
8.2.6 LOG SELECT command
8.2.7 LOG SENSE command
8.2.8 MODE SELECT(6) command
8.2.9 MODE SELECT(10) command
8.2.10 MODE SENSE(6) command
8.2.11 MODE SENSE(10) command
8.2.12 READ BUFFER Command
8.2.13 RECEIVE DIAGNOSTIC RESULTS command
8.2.14 REQUEST SENSE Command
8.2.15 SEND DIAGNOSTIC Command
8.2.16 TEST UNIT READY Command
8.2.17 WRITE BUFFER command
8.3 Parameters for all device types
8.3.1 Diagnostic parameters
8.3.2 Log parameters
8.3.3 Mode parameters
8.3.4 Vital product data parameters

9 Direct-access devices
9.1 Direct-access device model
9.1.1 Removable medium
9.1.2 Logical blocks (direct access)
9.1.3 Ready state
9.1.4 Initialization (direct access)
9.1.5 Medium defects
9.1.6 Data cache
9.1.7 Reservations
9.1.8 Seek and rezero
9.1.9 Notched drives
9.1.10 Rotational position locking
9.1.11 Relative addressing
9.1.12 Error reporting (direct access)
9.1.13 Examples
9.2 Commands for direct-access devices .
9.2.1 FORMAT UNIT command
9.2.2 LOCK UNLOCK CACHE command
9.2.3 PRE-FETCH command
9.2.4 PREVENT ALLOW MEDIUM REMOVAL command
9.2.5 READ(6) command
9.2.6 READ(10) command
9.2.7 READ CAPACITY command
9.2.8 READ DEFECT DATA command
9.2.9 READ LONG command
9.2.10 REASSIGN BLOCKS command
9.2.11 RELEASE command (direct access)
9.2.12 RESERVE command (direct access)
9.2.13 REZERO UNIT command
9.2.14 SEARCH DATA commands
9.2.15 SEEK(6) and SEEK(10) commands
9.2.16 SET LIMITS command
9.2.17 START STOP UNIT command
9.2.18 SYNCHRONIZE CACHE command
9.2.19 VERIFY command (direct access)
9.2.20 WRITE(6) command
9.2.21 WRITE(10) command
9.2.22 WRITE AND VERIFY command
9.2.23 WRITE LONG command
9.2.24 WRITE SAME command
9.3 Parameters for direct-access devices
9.3.1 Diagnostic parameters (direct access)
9.3.2 Log parameters (direct access)
9.3.3 Mode parameters (direct access)
9.4 Definitions specific to direct-access devices

10 Sequential-access devices
10.1 Sequential-access device model
10.1.1 Physical elements
10.1.2 Data storage characteristics
10.1.3 Partitions within a volume
10.1.4 Logical elements within a partition
10.1.5 Data buffering
10.1.6 Recorded object descriptors (block identifiers)
10.1.7 Direction and position definitions
10.1.8 Error reporting (sequential access)
10.2 Command descriptions for sequential-access devices
10.2.1 ERASE command
10.2.2 LOAD UNLOAD command
10.2.3 LOCATE command
10.2.4 READ command (sequential access)
10.2.5 READ BLOCK LIMITS command
10.2.6 READ POSITION command
10.2.7 READ REVERSE command
10.2.8 RECOVER BUFFERED DATA command (sequential access)
10.2.9 RELEASE UNIT command
10.2.10 RESERVE UNIT command
10.2.11 REWIND command
10.2.12 SPACE command
10.2.13 VERIFY command (sequential access)
10.2.14 WRITE command
10.2.15 WRITE FILEMARKS command
10.3 Parameters for sequential-access devices
10.3.1 Diagnostic parameters (sequential access)
10.3.2 Log parameters (sequential access)
10.3.3 Mode parameters (sequential access)
10.4 Definitions specific to sequential access devices

11 Printer devices
11.1 Model for printer devices
11.2 Commands for printer devices
11.2.1 FORMAT command
11.2.2 PRINT command
11.2.3 RECOVER BUFFERED DATA command (printer)
11.2.4 SLEW AND PRINT command
11.2.5 STOP PRINT command
11.2.6 SYNCHRONIZE BUFFER command
11.3 Parameters for printer devices
11.3.1 Diagnostic parameters (printer)
11.3.2 Log parameters (printer)
11.3.3 Mode parameters (printer)

12 Processor devices
12.1 Model for processor devices
12.1.1 Host-to-host communication, SEND only
12.1.2 Host-to-host communication, SEND and RECEIVE
12.1.3 Host-to-special-output peripheral
12.1.4 Host-to-special-input peripheral
12.2 Commands for processor devices
12.2.1 RECEIVE command (processor)
12.2.2 SEND command (processor)
12.3 Parameters for processor devices
12.3.1 Diagnostic parameters (processor)
12.3.2 Log parameters (processor)
12.4 Definitions specific to processor devices

13 Write-once devices
13.1 Model for write-once devices
13.1.1 Logical blocks (processor)
13.1.2 Initialization (processor)
13.1.3 Physical medium defects
13.1.4 Error reporting (processor)
13.2 Commands for write-once devices
13.3 Parameters for write-once devices
13.4 Definitions specific to write-once devices

14 CD-ROM devices
14.1 Model for CD-ROM devices
14.1.1 CD-ROM media organization
14.1.2 CD-ROM physical data format
14.1.3 CD Audio error reporting
14.1.4 CD-ROM ready condition/not ready condition
14.1.5 CD-ROM address reporting formats (MSF bit)
14.1.6 Sensing support for CD-audio commands .
14.1.7 Error reporting (cd-rom)
14.2 Commands for CD-ROM devices
14.2.1 PAUSE RESUME command
14.2.2 PLAY AUDIO(10) command
14.2.3 PLAY AUDIO(12) command
14.2.4 PLAY AUDIO MSF command
14.2.5 PLAY AUDIO TRACK INDEX command
14.2.6 PLAY AUDIO TRACK RELATIVE(10) command
14.2.7 PLAY AUDIO TRACK RELATIVE(12) command
14.2.8 READ CD-ROM CAPACITY command
14.2.9 READ HEADER command
14.2.10 READ SUB-CHANNEL command
14.2.11 READ TOC command
14.3 Parameters for CD-ROM devices
14.3.1 Diagnostic parameters (cd-rom)
14.3.2 Log parameters (cd-rom)
14.3.3 Mode parameters (cd-rom)
14.4 Definitions specific to CD-ROM devices

15 Scanner devices
15.1 Model for scanner devices
15.2 Commands for scanner devices
15.2.1 GET DATA BUFFER STATUS command
15.2.2 GET WINDOW command
15.2.3 OBJECT POSITION command
15.2.4 READ command (scanner)
15.2.5 SCAN command
15.2.6 SEND command (scanner)
15.2.7 SET WINDOW command
15.3 Parameters for scanner devices
15.3.1 Diagnostic parameters (scanner)
15.3.2 Log parameters (scanner)
15.3.3 Mode parameters (scanner)
15.4 Definitions specific to scanner devices

16 Optical memory devices
16.1 Model for optical memory devices
16.1.1 Defect management
16.1.2 Error reporting (optical)
16.2 Commands for optical memory devices
16.2.1 ERASE(10) command
16.2.2 ERASE(12) command
16.2.3 MEDIUM SCAN command
16.2.4 READ(12) command (optical)
16.2.5 READ DEFECT DATA(12) command
16.2.6 READ GENERATION command
16.2.7 READ UPDATED BLOCK(10) command
16.2.8 SEARCH DATA(12) commands
16.2.9 SET LIMITS(12) command
16.2.10 UPDATE BLOCK command
16.2.11 VERIFY(10) command (optical)
16.2.12 VERIFY(12) command (optical)
16.2.13 WRITE(10) command (optical)
16.2.14 WRITE(12) command (optical)
16.2.15 WRITE AND VERIFY(10) command
16.2.16 WRITE AND VERIFY(12) command
16.3 Parameters for optical memory devices
16.3.1 Diagnostic parameters (optical)
16.3.2 Log parameters (optical)
16.3.3 Mode parameters (optical)

17 Medium-changer devices
17.1 Medium-changer device model
17.1.1 Medium-changer elements
17.1.2 SCSI addressing of medium changer devices
17.1.3 Data access operations using a medium changer device
17.1.4 Element status maintenance requirements
17.1.5 Volume tags
17.2 Commands for medium changer devices
17.2.1 EXCHANGE MEDIUM command
17.2.2 INITIALIZE ELEMENT STATUS command
17.2.3 MOVE MEDIUM command
17.2.4 POSITION TO ELEMENT command
17.2.5 READ ELEMENT STATUS command
17.2.6 REQUEST VOLUME ELEMENT ADDRESS command
17.2.7 RELEASE command (media changer)
17.2.8 RESERVE command (media changer)
17.3 Parameters for medium changer devices
17.3.1 Diagnostic parameters (media changer)
17.3.2 Log parameters (media changer)
17.3.3 Mode parameters (media changer)
17.4 Definitions specific to medium changer devices

18 Communications devices
18.1 Communications device model
18.1.1 Implementation examples
18.2 Command descriptions for communications devices
18.2.1 GET MESSAGE(6) command
18.2.2 GET MESSAGE(10) command
18.2.3 GET MESSAGE(12) command
18.2.4 SEND MESSAGE(6) command
18.2.5 SEND MESSAGE(10) command
18.2.6 SEND MESSAGE(12) command
18.3 Parameters for communication devices
18.3.1 Diagnostic parameters (communication device)
18.3.2 Log parameters (communication device)
18.3.3 Mode parameters (communication device)
18.4 Definitions specific to communications devices

Appendix

A SCSI signal sequence example

B Fast SCSI skew time

C Other SCSI standardization activities

D Numeric order codes

E Vendor identification